package tanhua.dubbo.server.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import tanhua.dubbo.server.enums.IdType;

/**
 * @program: my-tanhua
 * @description:
 * @author: xuejingjing
 * @create: 2021-09-25 18:46
 **/

@Service
public class IdService {

    @Autowired
    private RedisTemplate<String,String> redisTemplate;

    /**
     *
     *   实现逻辑：借助于redis中的自增长特性，实现全局的id自增长(唯一)
     *   对，你就记住这个返回的是一个子增长的4位数的唯一的一个数字，当成一个工具类使用就行
     *
     * @param idType 枚举类型
     * @return
     */
    public Long created(IdType idType){
        //这个枚举idType.toString()表示啥数字？
        String key = "TANHUA_ID_" + idType.toString();
        return redisTemplate.opsForValue().increment(key);

    }
}